{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predicting Star Temperature\n",
    "Using the Open Exoplanet Catalogue database: https://github.com/OpenExoplanetCatalogue/open_exoplanet_catalogue/\n",
    "\n",
    "## Data License\n",
    "Copyright (C) 2012 Hanno Rein\n",
    "\n",
    "Permission is hereby granted, free of charge, to any person obtaining a copy of this database and associated scripts (the \"Database\"), to deal in the Database without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Database, and to permit persons to whom the Database is furnished to do so, subject to the following conditions:\n",
    "\n",
    "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Database. A reference to the Database shall be included in all scientific publications that make use of the Database.\n",
    "\n",
    "THE DATABASE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DATABASE OR THE USE OR OTHER DEALINGS IN THE DATABASE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>magJ</th>\n",
       "      <th>name</th>\n",
       "      <th>radius</th>\n",
       "      <th>spectraltype</th>\n",
       "      <th>magB</th>\n",
       "      <th>magV</th>\n",
       "      <th>temperature</th>\n",
       "      <th>magK</th>\n",
       "      <th>mass</th>\n",
       "      <th>metallicity</th>\n",
       "      <th>magH</th>\n",
       "      <th>planets</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2.943</td>\n",
       "      <td>11 Com</td>\n",
       "      <td>19.000</td>\n",
       "      <td>G8 III</td>\n",
       "      <td>5.740</td>\n",
       "      <td>4.740</td>\n",
       "      <td>4742.0</td>\n",
       "      <td>2.282</td>\n",
       "      <td>2.70</td>\n",
       "      <td>-0.350</td>\n",
       "      <td>2.484</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2.876</td>\n",
       "      <td>11 UMi</td>\n",
       "      <td>24.080</td>\n",
       "      <td>K4III</td>\n",
       "      <td>6.415</td>\n",
       "      <td>5.024</td>\n",
       "      <td>4340.0</td>\n",
       "      <td>1.939</td>\n",
       "      <td>1.80</td>\n",
       "      <td>0.040</td>\n",
       "      <td>2.091</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.019</td>\n",
       "      <td>14 And</td>\n",
       "      <td>11.000</td>\n",
       "      <td>K0III</td>\n",
       "      <td>6.240</td>\n",
       "      <td>5.220</td>\n",
       "      <td>4813.0</td>\n",
       "      <td>2.331</td>\n",
       "      <td>2.20</td>\n",
       "      <td>-0.240</td>\n",
       "      <td>2.608</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5.158</td>\n",
       "      <td>14 Her</td>\n",
       "      <td>0.708</td>\n",
       "      <td>K0 V</td>\n",
       "      <td>7.570</td>\n",
       "      <td>6.670</td>\n",
       "      <td>5311.0</td>\n",
       "      <td>4.714</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.430</td>\n",
       "      <td>4.803</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.090</td>\n",
       "      <td>16 Cygni A</td>\n",
       "      <td>1.243</td>\n",
       "      <td>G2V</td>\n",
       "      <td>6.590</td>\n",
       "      <td>5.950</td>\n",
       "      <td>5825.0</td>\n",
       "      <td>4.430</td>\n",
       "      <td>1.11</td>\n",
       "      <td>0.096</td>\n",
       "      <td>4.720</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    magJ        name  radius spectraltype   magB   magV  temperature   magK  \\\n",
       "0  2.943      11 Com  19.000       G8 III  5.740  4.740       4742.0  2.282   \n",
       "1  2.876      11 UMi  24.080        K4III  6.415  5.024       4340.0  1.939   \n",
       "2  3.019      14 And  11.000        K0III  6.240  5.220       4813.0  2.331   \n",
       "3  5.158      14 Her   0.708         K0 V  7.570  6.670       5311.0  4.714   \n",
       "4  5.090  16 Cygni A   1.243          G2V  6.590  5.950       5825.0  4.430   \n",
       "\n",
       "   mass  metallicity   magH  planets  \n",
       "0  2.70       -0.350  2.484      1.0  \n",
       "1  1.80        0.040  2.091      1.0  \n",
       "2  2.20       -0.240  2.608      1.0  \n",
       "3  1.00        0.430  4.803      2.0  \n",
       "4  1.11        0.096  4.720      0.0  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "\n",
    "stars = pd.read_csv('../../ch_09/data/stars.csv')\n",
    "stars.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9058257785616413"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "data = stars[['metallicity', 'temperature', 'magJ', 'radius', 'magB', 'magV', 'magK', 'mass', 'planets']].dropna()\n",
    "y = data.pop('temperature')\n",
    "X = data\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(\n",
    "    X, y, test_size=0.25, random_state=0\n",
    ")\n",
    "\n",
    "lm = LinearRegression().fit(X_train, y_train)\n",
    "lm.score(X_test, y_test) # R-squared"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "58321.552692522215"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import mean_squared_error\n",
    "mean_squared_error(y_test, lm.predict(X_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[(3.204836743123158, 'metallicity'),\n",
       " (-1105.3806813895103, 'magJ'),\n",
       " (3.33746772840675, 'radius'),\n",
       " (-273.65833790844874, 'magB'),\n",
       " (-221.3246462500207, 'magV'),\n",
       " (1636.4283385893532, 'magK'),\n",
       " (246.7228360678036, 'mass'),\n",
       " (-25.738704991225116, 'planets')]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[(coef, feature) for coef, feature in zip(lm.coef_, X_train.columns)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6654.702916831562"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([<matplotlib.axes._subplots.AxesSubplot object at 0x10223FF0>,\n",
       "       <matplotlib.axes._subplots.AxesSubplot object at 0x12DBF9D0>],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from ml_utils.regression import plot_residuals\n",
    "plot_residuals(y_test, lm.predict(X_test))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
